package com.arpa.oms.service;

import com.arpa.oms.domain.dto.OmsSaleReturnItemDTO;
import com.arpa.oms.domain.entity.OmsSaleReturnItem;
import com.arpa.oms.domain.vo.OmsSaleReturnItemVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * OMS销售退货明细 服务类
 * </p>
 *
 * @author LEO
 * @since 2020-11-17
 */
public interface IOmsSaleReturnItemService extends IService<OmsSaleReturnItem> {

    /**
     * 保存
     * @param entity
     * @return
     */
    @Override
    boolean save(OmsSaleReturnItem entity);

    /**
     * 根据code更新实体
     * @param entity
     * @return
     */
    int updateByCode(OmsSaleReturnItem entity);

    /**
     * 查询列表
     * @param omsSaleReturnItemDTO
     * @return
     */
    List<OmsSaleReturnItemVO> queryList(OmsSaleReturnItemDTO omsSaleReturnItemDTO);

    /**
     * 查询合计,包含总数
     * @param omsSaleReturnItemDTO
     * @return
     */
    OmsSaleReturnItemVO queryListSum(OmsSaleReturnItemDTO omsSaleReturnItemDTO);

    /**
     * @description
     * 销售退单item根据出库单item更新出库数量
     * @author xuyang
     * @date 2020/12/14 17:35
     * @param saleReturnCode:
     **/
    void updateOutQuantity(String saleReturnCode);

    /**
     * @description
     * 关联销售明细表查询退货信息
     * @author xuyang
     * @date 2020/12/24 16:35
     * @param itemDTO:
     **/
    List<OmsSaleReturnItemVO> queryListWithRefundInfo(OmsSaleReturnItemDTO itemDTO);
}
